package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.SysWeeklyZcmplan;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * SysWeeklyZcmplanMapper接口
 * 
 * @author SYF
 * @date 2025-06-17
 */
public interface SysWeeklyZcmplanMapper 
{
    /**
     * 查询SysWeeklyZcmplan
     * 
     * @param wkYear SysWeeklyZcmplan主键
     * @return SysWeeklyZcmplan
     */
    public SysWeeklyZcmplan selectSysWeeklyZcmplanByWkYear(String wkYear);

    /**
     * 查询SysWeeklyZcmplan列表
     * 
     * @param sysWeeklyZcmplan SysWeeklyZcmplan
     * @return SysWeeklyZcmplan集合
     */
    public List<SysWeeklyZcmplan> selectSysWeeklyZcmplanList(SysWeeklyZcmplan sysWeeklyZcmplan);

    /**
     * 新增SysWeeklyZcmplan
     * 
     * @param sysWeeklyZcmplan SysWeeklyZcmplan
     * @return 结果
     */
    public int insertSysWeeklyZcmplan(SysWeeklyZcmplan sysWeeklyZcmplan);

    /**
     * 修改SysWeeklyZcmplan
     * 
     * @param sysWeeklyZcmplan SysWeeklyZcmplan
     * @return 结果
     */
    public int updateSysWeeklyZcmplan(SysWeeklyZcmplan sysWeeklyZcmplan);

    /**
     * 删除SysWeeklyZcmplan
     * 
     * @param wkYear SysWeeklyZcmplan主键
     * @return 结果
     */
    public int deleteSysWeeklyZcmplanByWkYear(String wkYear);

    /**
     * 批量删除SysWeeklyZcmplan
     * 
     * @param wkYears 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysWeeklyZcmplanByWkYears(String[] wkYears);

    public List<Map<String,String>> selectWeeks(@Param("wkYear") String wkYear);

    public List<Map<String,String>> selectYears();

    public List<Map<String,Object>> selectYmdList(@Param("wkYear") String wkYear,@Param("wk")String wk,@Param("bigname")String bigname);

    public List<Map<String,Object>> selectQlSummary(@Param("wkYear") String wkYear,@Param("wk")String wk);

    public List<Map<String,Object>> selectQtSummary(@Param("wkYear") String wkYear,@Param("wk")String wk);

    public List<Map<String,Object>> selectChSummary(@Param("wkYear") String wkYear,@Param("wk")String wk);

    @Select("${sql}")
    public List<Map<String,Object>> getChList(@Param("sql") String sql);

    @Select("${sql}")
    public List<Map<String,Object>> listProductBase(@Param("sql") String sql);

    @Select("${sql}")
    public List<Map<String,Object>> selectCaohuaSummary(@Param("sql") String sql);

    @Select("${sql}")
    public List<Map<String,Object>> selectCaohuaTotalSummary(@Param("sql") String sql);
}
